/**
*
*
*\author Isabel Martín Herrero 48539974 S
*
*
**/

#include <iostream>
#include <vector>
#include <sstream>
#include "IDibujable.h"


/**
*\file UtilidadesSVG.h
*\brief Archivo .h de la clase UtilidadesSVG
*Archivo que contiene la declaración la clase UtilidadesSVG
*
**/

using namespace std;

#ifndef _PEREZOSO_H_
#define _PEREZOSO_H_


/** \brief Clase UtilidadesSVG
 *
 * La clase UtilidadesSVG permite crear, destruir y modificar objetos de tipo Círculo.Un objeto Círculo  tiene los atributos privados radio (float) y centro (Coordenada)
 * La clase UtilidadesSVG es amiga de ostream
 */

class UtilidadesSVG
{
	private:
	
		/** \brief miembro utilidadesSVG()
		* parte privada no implementada, solo se realizan operaciones;
		*/
		UtilidadesSVG();
		
	public:
		/** \brief Método estatico crearFigura.
		* Crea una figura
		*\param descripcion Descripcion de la clase de la figura a crear
		*\param is Flujo de entrada
		*\return devuelve un puntero a IDibujable
		*/
		static IDibujable* crearFigura(string descripcion,istream& is); //aqui va lo que estaba en lienzo
		
		/** \brief Método estatico hacerOperacion.
		* Metodo que realiza las operaciones de las figuras
		*\param figuras Figuras sobre las que se opera
		*\param is Flujo de entrada
		*\return devuelve void
		*/
		static void hacerOperacion(vector<IDibujable*> &figuras,istream &is);
};
#endif
